<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <button>全选</button>
    <button>不选</button>
    <button>反选</button>
    <div>
        <input type="checkbox">
        <input type="checkbox">
        <input type="checkbox">
        <input type="checkbox">
        <input type="checkbox">
        <input type="checkbox">
    </div>

    <script>
        //实现点击button按钮实现全选，反选，不选功能
        //逻辑
        /**
        * 获取button，绑定点击事件，
        * 点击全选，所有div里的选项卡需要全部选上； //this
        * 点击反选，需要获取已经被选择的checkbox，以及剩下的未被选择的checkbox，将剩下的未被选择的checkbox勾选；如果是全选状态，则全不选；
        * */
        let sel = document.getElementsByTagName('button');
        let checks = document.getElementsByTagName( 'input');
        for (var i = 0; i < sel.length; i++) {
            sel[i].onclick = function () {
                if(this.innerHTML == '全选'){
                    for(var j = 0; j < checks.length;j++){
                        //checked 选择器匹配每个已被选中的 input 元素（只用于单选按钮和复选框）
                        checks[j].checked = true;     
                    }
                }else if(this.innerHTML == '不选'){
                    for(var j = 0; j < checks.length;j++){
                        checks[j].checked = false;     
                    }
                }else if(this.innerHTML == '反选'){
                    for(var j = 0; j < checks.length;j++){
                        checks[j].checked = !checks[j].checked;     
                    }
                }
            }
        }

    </script>
</body>

</html>